# config.py
# StickmanRL 项目全局配置文件
# 所有常量集中定义，便于调整和维护

# 屏幕设置
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
FPS = 60  # 帧率

# 颜色定义 (RGB)
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)      # 可用于负分旗子
GREEN = (0, 255, 0)    # 可用于正分旗子
BLUE = (0, 0, 255)

# 火柴人设置
STICKMAN_RADIUS = 8           # 头部圆形半径
STICKMAN_COLOR = BLACK
STICKMAN_INIT_X = 100         # 初始位置 x
STICKMAN_INIT_Y = SCREEN_HEIGHT - 100  # 初始位置 y（接近地面）
MOVE_SPEED = 5                # 左右移动速度（像素/帧）
JUMP_POWER = -10              # 跳跃初速度（负值向上），太大会出问题
GRAVITY = 0.5                 # 重力加速度（每帧增加向下的速度）

# 平台设置
PLATFORM_COLOR = BLACK
PLATFORM_WIDTH = 120
PLATFORM_HEIGHT = 6
PLATFORMS = [
    (100, 500),   # (x, y) 左侧地面附近
    (200, 400),   # 中间高台
    (300, 300),   # 更高平台
    (400, 200),   # 顶部平台
]

# 旗子设置
FLAG_SIZE = 10                # 旗子图形大小

# 旗帜相关颜色
FLAG_COLOR = (255, 0, 0)      # 红色旗帜
POLE_COLOR = (128, 128, 128)  # 灰色旗杆

# 旗帜位置：(x, y)，y 是旗帜顶部坐标
FLAG_POS = (220, 350)
# 旗帜位置列表：每个是 (x, y)，y 是旗帜顶部坐标
FLAG_POSITIONS = [
    (150, 480),  # 第一个平台
    (250, 380),  # 第二个平台
    (400, 280),  # 第三个平台（更高）
    (450, 180),  # 第四个平台
]

# 分数显示
FONT_SIZE = 32
SCORE_COLOR = BLACK
SCORE_POS = (10, 10)          # 分数显示位置

# 地面边界（防止掉落）
GROUND_Y = SCREEN_HEIGHT + 100  # 掉落到此位置以下判定为“结束”